from enums import CodedEnum, DictEnum


@DictEnum(key="dev_schema_field_data_type", name="模型字段类型")
class SchemaFieldDataTypeEnum(CodedEnum):
    """
    模型字段类型
    """

    # 包装类型
    BYTE = (9, "Byte")
    SHORT = (10, "Short")
    CHARACTER = (11, "Character")
    INTEGER = (12, "Integer")
    LONG = (13, "Long")
    FLOAT = (14, "Float")
    DOUBLE = (15, "Double")
    BOOLEAN = (16, "Boolean")
    STRING = (17, "String")

    # sql 包下数据类型
    DATE_SQL = (18, "Date")
    TIME = (19, "Time")
    TIMESTAMP = (20, "Timestamp")
    BLOB = (21, "Blob")
    CLOB = (22, "Clob")

    # java8 新时间类型
    LOCAL_DATE = (23, "LocalDate")
    LOCAL_TIME = (24, "LocalTime")
    YEAR = (25, "Year")
    YEAR_MONTH = (26, "YearMonth")
    LOCAL_DATE_TIME = (27, "LocalDateTime")
    INSTANT = (28, "Instant")

    # 其他杂类
    OBJECT = (30, "Object")
    DATE = (31, "Date")
    BIG_INTEGER = (32, "BigInteger")
    BIG_DECIMAL = (33, "BigDecimal")
